home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / networking / ip / ka9q / src890906.arc / USOCK.H < prev    next >
C/C++ Source or Header  |  1989-08-07  |  869b  |  48 lines

  1. #ifndef    NULLUSOCK
  2.  
  3. union cb {
  4.     struct tcb *tcb;
  5.     struct ax25_cb *ax25;
  6.     struct udp_cb *udp;
  7.     struct raw_ip *rip;
  8.     struct raw_nr *rnr;
  9.     struct nr4cb *nr4;
  10.     char *p;
  11. };
  12. union sp {
  13.     struct sockaddr *sa;
  14.     struct sockaddr_in *in;
  15.     struct sockaddr_ax *ax;
  16.     struct sockaddr_nr *nr;
  17.     char *p;
  18. };
  19.  
  20. /* User sockets */
  21. struct usock {
  22.     struct proc *owner;
  23.     char noblock;
  24.     char type;
  25. #define    NOTUSED        0
  26. #define    TYPE_TCP    1
  27. #define    TYPE_UDP    2
  28. #define    TYPE_AX25I    3
  29. #define    TYPE_AX25UI    4
  30. #define TYPE_RAW    5
  31. #define TYPE_NETROML3    6
  32. #define TYPE_NETROML4    7
  33.     int rdysock;
  34.     union cb cb;
  35.     char *name;
  36.     int namelen;
  37.     char *peername;
  38.     int peernamelen;
  39.     char errcodes[4];    /* Protocol-specific error codes */
  40. };
  41. #define    NULLUSOCK    ((struct usock *)0)
  42.  
  43. extern char *Socktypes[];
  44. extern struct usock *Usock;
  45. extern int Nusock;
  46.  
  47. #endif /* NULLUSOCK */
  48.